#pragma once
#include <cppunit/extensions/HelperMacros.h>
#include "QueryPreprocessor.h"
#include "QueryEvaluator.h"
#include "DesignEntityTable.h"
#include "Uses.h"
#include "Modifies.h"
#include "DesignExtractor.h"

class TestPQL : public CPPUNIT_NS::TestFixture {
	CPPUNIT_TEST_SUITE( TestPQL );

	CPPUNIT_TEST( testPQL );

	CPPUNIT_TEST_SUITE_END();

public:
	void setUp();
	void tearDown();

	void testPQL();

private:
	static const int NNODES = 21;
	Node *n[NNODES];
	AST pql_ast;
	VarTable pql_varTable;
	Follows pql_follows;
	Parent pql_parent;
	Uses pql_uses;
	Modifies pql_modifies;
	DesignEntityTable *pql_deTable;
	void printResults(list<string> res);
};

